
public interface IChessBoard {
			 
    /**
     *Used on each move.  Returns true if the move is legal, false if not.
     *The state of the board is changed if the method returns true; if it 
     *returns false, nothing changes.
     *@param playercolor  White or Black
     *@param x1           The row of the piece to be moved
     *@param y1           The column of the piece to be moved
     *@param x2           The row of the requested destination square
     *@param y2           The column of the requested destination square
     *@returns boolean    True if the move is legal
     */
    public boolean move( Color playerColor, int x1, int y1, int x2, int y2 );


   /**
    *Returns the piece that was captured on the most recent move.  Null
    *if no piece was captured.  Captured pieces are stored with pieces' owner.
    *This method should be invoked by a Player immediately prior his
    *move.
    @returns Piece  captured Piece of the owner Player
    */
    public Piece getCapturedPiece();


}		      
